# -*- coding: utf-8 -*-#
#-------------------------------------------------------------------------------
# 建立者:        Young  
# Name:         task8_4_1
# Description:
# Author:       $赵怡蕾
# Date:         2019/3/15
#-------------------------------------------------------------------------------

# 编写一个python程序，创建三个类：Person、Teacher和Student。每个类至少有三个属性 三个方法,写在一个文件里面
# 方法必须要有注释 python标准的方式注释

class Person(object):
    # 定义setName方法
    def setName(self, name):
        self.name = name

    # 定义getName方法
    def getName(self):
        return self.name

    # 定义greet方法
    def greet(self):
        print("Hello,I'm {name}.".format(name=self.name))


class Teacher(object):
    # 公共方法
    def getName(self):
        return self.name

    # 公共方法
    def setName(self,name):
        self.name = name
        # 在类的内部可以直接调用私有方法
        self.__outName()

    # 私有方法
    def __outName(self):
        print("Name={}".format(self.name))


class Student(object):
    def __init__(self):
        self.name = 'zyl'
        self.age = 23
        self.school = "湖南工业大学理学院"

    def hello(self):
        print("hello")

    def getinfo(self):
        return "我叫{name},今年{age}岁,来自{school}".format(name=self.name,age=self.age,school=self.school)


if __name__ == '__main__':
    p = Person()
    p.setName("zhao")       # 调用p对象的setName方法
    print(p.getName())      # 调用p对象的getName方法
    Person.greet(p)         # 调用p对象的greet方法

    t = Teacher()
    t.setName("ZYL")        # 调用setName方法
    print(t.getName())      # 调用getName方法
    t._Teacher__outName()   # 调用“__outName”方法

    s = Student()
    s.hello()               # 点调用hello方法
    print(s.getinfo())      # 调用s对象的getinfo方法